package com.sitech.openapi.mapper;

import java.util.List;
import java.util.Map;

public interface InvoiceInfoMapper{

    //通过用户号码查询该用户下近六个月未归档的客户订单号
    public List<Map<String,String>> selectCustOrderByAccNbrNow(Map<String,String> inMap);

    //通过用户号码查询该用户下所具有的已归档的所有客户订单号
    public List<Map<String,String>> selectCustOrderIdByAccNbr(Map<String,String> inMap);

    //通过客户订单号查询该订单下所有的费用项——历史表
    public List<Map<String,String>> selectAmountByCustOrderId(Map<String,String> inMap);

    //新增开票信息
    public void insertInvoiceInfo(Map<String,String> inMap);

    //通过用户号码查询开票信息——《开票信息接口》
    public List<Map<String,String>> selectInvoiceInfo(String serialNumber);

    //通过客户ID获取开票信息——《开票信息接口》
    public List<Map<String,String>> selectInvoiceInfoByCustId(String custId);

    //更新开票信息--通过开票信息ID查询客户ID《开票信息接口》
    public String getCustIdById(String id);

    //更新开票信息——《开票信息接口》
    public void updateInvoiceInfo(Map<String,String> inMap);

    //通过客户订单号码查询可打印的电子发票信息
    public List<Map<String,String>> selectInvoiceBycustOderId(Map<String,String> inMap);

    //通过发票实例ID查询发票信息《发票接口》
    public Map<String,String> selectInvoiceById(String invoiceId);

    //通过发票实例ID获取发票的价格
    public List<Map<String,String>> selectAmountList(String invoiceId);

    //通过channel_id 获取channel_name
    public String getChannelName(String channelId);

    //通过账目类型标识获取商品信息
    public String getShopCode(String paraId);

    //通过用户的主产品获取公司类型
    public Integer qryProductType(String productId);

    //通过用户号码查询用户实例ID
    public String getProdInstIdByAccNbr(String serialNumber);

    //电子发票开具调中兴接口成功后更新acct_item表
    public void updateAcctItemInvoiceIdHis(Map<String,String> inMap);

    //电子发票开具调中兴接口成功后更新acct_item表
    public void updateAcctItemInvoiceId(Map<String,String> inMap);

    //通过客户订单号查询电子发票实例ID——查询正表
    public List<Map<String,String>> selectInvoiceIdByCustOrderId(Map<String,String> inMap);

    //通过客户订单号查询电子发票实例ID——查询历史表
    public List<Map<String,String>> selectInvoiceIdByCustOrderIdHis(Map<String,String> inMap);

    //通过电子发票实例ID判断该发票是否失效
    public List<Map<String,String>> selectInvoiceStatusCdByInvoiceId(String invoiceId);

    //通过客户订单号查询客户订单信息
    public Map<String,String> selectCustomerOrderById(String custOrderId);

    //通过客户订单号查询客户订单信息——历史表
    public Map<String,String> selectCustomerOrderByIdHis(Map<String,String> inMap);

    //通过接入类产品实例ID获取产品ID
    public String getProductIdById(String prodInstId);

    //获取计费侧的接口地址
    public String getInterfaceBill(String paraId);

    //通过 staff_id 获取工号信息
    public Map<String,String> getSysCodeInfoByStaffId(String staffId);

    //获取购买方信息
    public String getAttrValue(Map<String,String> inMap);

    //通过接入类产品实例ID获取客户ID
    public Map<String,String> getCustIdByProdInstId(String prodInstId);

    public Map<String,String> qryCustAddsPhone(String custId);

    public Integer qryNoGernalCertType(Map<String,String> inMap);

    //根据收款人工号获取收款人姓名
    public String getStaffName(String systemUserCode);

    //
    public String qryChannelType(String channelId);

    //查询复核人的名称
    public String qryFhrStaffName(String systemUserCode);

    //通过产权客户ID获取电话号码
    public String selectAccNbrByCustId(String ownerCustId);

}